 with dates  as
             (select to_date('01/01/2011', 'mm/dd/yyyy') + level-1 as d  from dual

               connect by level<to_date('09/02/2014', 'mm/dd/yyyy' )-to_date('01/01/2011', 'mm/dd/yyyy' )+1 )
 
               select  /*+ PARALLEL(8) */ dates.d, 
 
                   case   when F.METRICPCT_LAST is  null then -1 else  F.METRICPCT_LAST end  m,
                   case  when h.FEDERALHOLIDAY is null then 0 else 1 end isHoliday
 
                     from dates left  outer join FIFI.FIFI_USID_METRIC_TREND f 
                       on dates.d = F.LASTPERIODEND
                           left outer join holidays h on dates.d = h.datetime
                               where usid= 15694  and metric = 'DROP' order by dates.d desc;